﻿/**
 * 
 * @file FITKAcousticsPhysicalIniter.h
 * @brief 物理属性初始化声明
 * @author LiBaojun (libaojunqd@foxmail.com)
 * @date 2024-10-15
 * 
 */
#ifndef _FITLACOUSTICS_PHYSICAL_INITRE_H___
#define _FITLACOUSTICS_PHYSICAL_INITRE_H___
 

namespace Acoustics
{
    class FITKAcousticsPhysics;
    /**
     * @brief 物理属性初始化
     * @author LiBaojun (libaojunqd@foxmail.com)
     * @date 2024-10-15
     */
    class  FITKAcousticsPhysicalIniter
    {
    public:
        /**
         * @brief Construct a new FITKAcousticsPhysicalIniter object
         * @param[i]  pd             物理属性对象
         * @author LiBaojun (libaojunqd@foxmail.com)
         * @date 2024-10-15
         */
        explicit FITKAcousticsPhysicalIniter(FITKAcousticsPhysics* pd );
        /**
         * @brief Destroy the FITKAcousticsPhysicalIniter object
         * @author LiBaojun (libaojunqd@foxmail.com)
         * @date 2024-10-15
         */
        virtual ~FITKAcousticsPhysicalIniter() = default;
        /**
         * @brief 执行初始化器
         * @author LiBaojun (libaojunqd@foxmail.com)
         * @date 2024-10-15
         */
        void init();

    private:
        /**
         * @brief 物理属性
         * @author LiBaojun (libaojunqd@foxmail.com)
         * @date 2024-10-15
         */
        FITKAcousticsPhysics* _physicalData{};
    };

}


#endif
